/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package Controlador;

import java.util.ArrayList;

/**
 *
 * @author javier
 */
public class GestorVelocidad {
    //Javier : arreglo de enteros
    private ArrayList CallesHorizontales; //Javier:  1600 horizontales
    private ArrayList CallesVerticales;   //Javier:  2400 verticales
    private static GestorVelocidad instance;
    
    public static GestorVelocidad getInstance(){
        if (instance==null){
            instance = new GestorVelocidad();
        }
        return instance;
    }
    
    private GestorVelocidad(){
        CallesHorizontales = new ArrayList ();
        CallesVerticales = new ArrayList ();
        inicializarVelocidadesMaximas(CallesVerticales, 2400, 40);
        inicializarVelocidadesMaximas(CallesHorizontales, 1600, 40);
    }
    
    private void inicializarVelocidadesMaximas(ArrayList lista,int numeroAvenidas,int velocidad){
        for (int i=0; i<numeroAvenidas; i++){
            lista.add(velocidad);
        }
    }
    
    public int ObtenerVelocidadMaximaHorizontal(int coordenadaCalleHorizontal){
        return (int)CallesHorizontales.get(coordenadaCalleHorizontal/100);
    }
    public int ObtenerVelocidadMaximaVertical(int coordenadaCalleVertical){
        return (int)CallesVerticales.get(coordenadaCalleVertical/100);
    }
    
    
    public void setearVelocidadesMaximas(ArrayList lista,int multiplicidad,int velocidad){
        int tamanioLista= lista.size();
        for (int i=0 ; i<tamanioLista; i=i+multiplicidad){
            lista.set(i, velocidad);
        }
    }

    public ArrayList getCallesHorizontales() {
        return CallesHorizontales;
    }

    public ArrayList getCallesVerticales() {
        return CallesVerticales;
    }

}
